package com.niguang.work.api.entity;

import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.TableLogic;
import java.io.Serializable;

/**
 * <p>
 * 'work.v_personSite' is not BASE TABLE
 * </p>
 *
 * @author chenliu
 * @since 2018-07-23
 */
@TableName("work_release")
public class Release extends Model<Release> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;
    /**
     * app用户id
     */
    private Long userId;
    /**
     * 个人/组ID关联work_type_group表
     */
    private Long typeGroupId;
    /**
     * 个人发布工作时，选择工作组填写人数
     */
    private Integer personNumber;
    /**
     * 工种ID
     */
    private Long workTypeId;
    /**
     * 工地编号
     */
    private Long releaseSiteId;
    /**
     * 个人发布工作时，省-市-区县
     */
    private String areaCityId;
    /**
     * 发布地点，不知前端是否能上送地名来，预留字段
     */
    private String releasePlace;
    /**
     * 是否录用 0-未录用 1--已录用
     */
    private Integer hireState;
    /**
     * 发布工作时所在的经纬度
     */
    private String releaseLatitude;
    /**
     * 发布类型 1--个人发布 2--企业发布
     */
    private Integer releaseType;
    /**
     * 发布薪资（/天）
     */
    private String releaseSalary;
    /**
     * 发布状态 1-待处理、2-未完成、3-已完成
     */
    private Integer releaseState;
    /**
     * 发布备注
     */
    private String releaseRemark;
    /**
     * 录用时间
     */
    private Date employTime;
    /**
     * 发布时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 删除标识 1-未删除1-已删除
     */
    @TableLogic
    private Integer delFlag;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getTypeGroupId() {
        return typeGroupId;
    }

    public void setTypeGroupId(Long typeGroupId) {
        this.typeGroupId = typeGroupId;
    }

    public Integer getPersonNumber() {
        return personNumber;
    }

    public void setPersonNumber(Integer personNumber) {
        this.personNumber = personNumber;
    }

    public Long getWorkTypeId() {
        return workTypeId;
    }

    public void setWorkTypeId(Long workTypeId) {
        this.workTypeId = workTypeId;
    }

    public Long getReleaseSiteId() {
        return releaseSiteId;
    }

    public void setReleaseSiteId(Long releaseSiteId) {
        this.releaseSiteId = releaseSiteId;
    }

    public String getAreaCityId() {
        return areaCityId;
    }

    public void setAreaCityId(String areaCityId) {
        this.areaCityId = areaCityId;
    }

    public String getReleasePlace() {
        return releasePlace;
    }

    public void setReleasePlace(String releasePlace) {
        this.releasePlace = releasePlace;
    }

    public Integer getHireState() {
        return hireState;
    }

    public void setHireState(Integer hireState) {
        this.hireState = hireState;
    }

    public String getReleaseLatitude() {
        return releaseLatitude;
    }

    public void setReleaseLatitude(String releaseLatitude) {
        this.releaseLatitude = releaseLatitude;
    }

    public Integer getReleaseType() {
        return releaseType;
    }

    public void setReleaseType(Integer releaseType) {
        this.releaseType = releaseType;
    }

    public String getReleaseSalary() {
        return releaseSalary;
    }

    public void setReleaseSalary(String releaseSalary) {
        this.releaseSalary = releaseSalary;
    }

    public Integer getReleaseState() {
        return releaseState;
    }

    public void setReleaseState(Integer releaseState) {
        this.releaseState = releaseState;
    }

    public String getReleaseRemark() {
        return releaseRemark;
    }

    public void setReleaseRemark(String releaseRemark) {
        this.releaseRemark = releaseRemark;
    }

    public Date getEmployTime() {
        return employTime;
    }

    public void setEmployTime(Date employTime) {
        this.employTime = employTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public static final String ID = "id";

    public static final String USER_ID = "user_id";

    public static final String TYPE_GROUP_ID = "type_group_id";

    public static final String PERSON_NUMBER = "person_number";

    public static final String WORK_TYPE_ID = "work_type_id";

    public static final String RELEASE_SITE_ID = "release_site_id";

    public static final String AREA_CITY_ID = "area_city_id";

    public static final String RELEASE_PLACE = "release_place";

    public static final String HIRE_STATE = "hire_state";

    public static final String RELEASE_LATITUDE = "release_latitude";

    public static final String RELEASE_TYPE = "release_type";

    public static final String RELEASE_SALARY = "release_salary";

    public static final String RELEASE_STATE = "release_state";

    public static final String RELEASE_REMARK = "release_remark";

    public static final String EMPLOY_TIME = "employ_time";

    public static final String CREATE_TIME = "create_time";

    public static final String DEL_FLAG = "del_flag";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Release{" +
        "id=" + id +
        ", userId=" + userId +
        ", typeGroupId=" + typeGroupId +
        ", personNumber=" + personNumber +
        ", workTypeId=" + workTypeId +
        ", releaseSiteId=" + releaseSiteId +
        ", areaCityId=" + areaCityId +
        ", releasePlace=" + releasePlace +
        ", hireState=" + hireState +
        ", releaseLatitude=" + releaseLatitude +
        ", releaseType=" + releaseType +
        ", releaseSalary=" + releaseSalary +
        ", releaseState=" + releaseState +
        ", releaseRemark=" + releaseRemark +
        ", employTime=" + employTime +
        ", createTime=" + createTime +
        ", delFlag=" + delFlag +
        "}";
    }
}
